<?php
/**
 * Created by PhpStorm.
 * User: tt
 * Date: 2018/1/3
 * Time: 16:44
 */

namespace app\common\validate;
use think\Db;
use think\Validate;

class Excel extends Validate
{
    protected $rule = [
        'phone'       =>  'checkmaphoe|isMobile',
//        'phone_z'       =>  'checkmaphoe|isMobile',
//        'phone_f'       =>  'checkmaphoe|isMobile',
    ];
    protected $message =[
        'phone.isMobile'=>'联系电话格式错误',
        'phone.checkmaphoe'=>'联系电话重复',
//        'phone_z.isMobile'=>'联系电话格式错误',
//        'phone_z.checkmaphoe'=>'联系电话重复',
//        'phone_f.isMobile'=>'联系电话格式错误',
//        'phone_f.checkmaphoe'=>'联系电话重复',
    ];


    /**
     * 验证手机号码是否重复
     * @param $value
     * @param $rule
     * @param $data
     * @return bool
     */
    protected function checkmaphoe($value, $rule, $data){
        $order = Db::name('excel')->where(['phone'=>$value])->fetchSql(false)->find();
        return is_null($order)?true:false;
    }

    /**
     * 验证手机的合法性
     * @param $mobile
     * @return bool
     */
    function isMobile($mobile)
    {
        if (!is_numeric($mobile)) {
            return false;
        }
        return preg_match('#^13[\d]{9}$|^14[5,7]{1}\d{8}$|^15[^4]{1}\d{8}$|^17[0,6,7,8]{1}\d{8}$|^18[\d]{9}$#', $mobile) ? true : false;
    }
}